#include <iostream>
#include <stack>

using namespace std;

const int N = 1e5 + 10;

int a[N], b[N];

int main()
{
	int q; cin >> q;
	while(q--)
	{
		int n; cin >> n;
		for(int i = 1; i <= n; i++) cin >> a[i];
		for(int i = 1; i <= n; i++) cin >> b[i];

		stack<int> st;
		int i = 1, j = 1;
		for(; i <= n; i++) // 让元素依次进栈
		{
			st.push(a[i]);
			while(st.size() && j <= n && st.top() == b[j])
			{
				//出栈
				st.pop();
				j++;
			}
		}
		if(st.empty()) cout << "Yes" << endl;
		else cout << "No" << endl;
	}

	return 0;
}